<?
// Eliminare le funzioni relative al mysql
/*
L'amicizia crea un legame tra la tabella pagine non tra l'id dell'utente registrato
*/
class amicizia_mod extends CI_Model {
	
	
	public function __construct(){
		parent::__construct();
	}
	
	// quindi ci sono varie possibilità
	// non c'è alcun legame
	// chi si logga è sulla propria pagina (io sto sull abacheca di andrea maiorana) 
	// l'utente è sulla pagina di un altro e l'amicizia è in attesa di conferma 
	//poi bisognerà che un 'gruppo' riconosce l'utente a cui appartiene...
	// 0 --> Non c'è legame tra le due bacheche
	// 1 --> Le due bacheche sono amiche
	// 2 --> Sono io ad aver chiesto l'amicizia alla bacheca che sto visitando e lui non l'ha ancora confermata
	// 3 --> Io ho ricevuto al richiesta di amicizia da questa bacheca ma non l'ho ancora confermata
	public function verifica_amicizia($id_bacheca_att){
		if(!$id_bacheca_att)$id_bacheca_att = $this->session->userdata('id_bacheca') ;
		
		if($id_bacheca_att!=$this->session->userdata('id_bacheca')){
			$query = "select * from amicizie where
			(richiede='{$id_bacheca_att}' and accetta='{$this->session->userdata('id_bacheca')}')
				or
			  (accetta='{$id_bacheca_att}' and richiede='{$this->session->userdata('id_bacheca')}')
			";
			$risu = mysql_query($query);
			$num  = mysql_num_rows($risu);
			if($num==0) return 0 ; 
			else{
				$arr = mysql_fetch_array($risu);
				$stato = $arr['stato'];
				$richiede = $arr['richiede'];
				$accetta = $arr['accetta'];
				if($stato=="1") return 1 ; 
				elseif($stato=="0"){
					if($richiede==$this->session->userdata('id_bacheca'))return 2 ; 
					elseif($richiede==$id_bacheca_att)return 3;
				}
				
			}return mysql_num_rows($risu);
		}
		else return 1 ; 
	}
	
	
	// Questa è al parte che accetta l'amicizia
	public function accetta_amicizia($id_richiedente , $id_record){
		$id_pagina = $this->session->userdata('id_bacheca');
		$query = "update amicizie set stato='1' where id='$id_record' and richiede='$id_richiedente' and accetta='$id_pagina' ";
		//echo $query ;
		$risu    = mysql_query($query);
		if($risu)echo "1";
		else echo "Errore di scrittura.";
	}
	
	
	
	// Questa è al parte che rifiuta l'amicizia
	public function rifiuta_amicizia($id_richiedente, $id_record){
		$id_pagina = $this->session->userdata('id_bacheca');
		$query = "delete from amicizie where id='$id_record' and ((richiede='$id_richiedente' and accetta='$id_pagina') or (accetta='$id_richiedente' and richiede='$id_pagina')) ";
		$risu    = mysql_query($query);
		if($risu)echo "1";
		else echo "Errore di cancellazione.";
	}	
	
	
	
	// Questa è al parte ch egestisce l'elenco degli amici di una certa bacheca
	public function elenco_offerte_non_approvate($id_bacheca){
		$arr_return = array();
		$query = "select * from amicizie where stato='0' and accetta='$id_bacheca' ";
		$risu    = mysql_query($query);
		$num   = mysql_num_rows($risu);
		if($num){
			for($x=0;$x<$num;$x++){
				$arr = mysql_fetch_array($risu);
				$id_amico = $arr['richiede'];
				
				$nome_bacheca = "";
				$query_bk = "select nome , id_utente, id from pagine where id='$id_amico' ";
				$risu_bk    = mysql_query($query_bk);
				list($nome_bacheca , $id_utente_rich , $id_bacheca_rich)   = mysql_fetch_array($risu_bk); 
				
				$query_citta = "select comuni.comune from setting_a , comuni where 	setting_a.comune_residenza=comuni.codice_istat and setting_a.pagina_su_cui_compare='$id_bacheca_rich' and setting_a.id_utente='$id_utente_rich' " ; 
				$risu_citta    = mysql_query($query_citta);
				$num_citta   = mysql_num_rows($risu_citta);
				list($comune_residenza)     = mysql_fetch_array($risu_citta);
						
				
				
				$arr_return[$x]['id_utente_rich'] = $id_utente_rich;
				$arr_return[$x]['id_utente'] = $id_utente_rich;
				$arr_return[$x]['comune_residenza'] = $comune_residenza ; 
				$arr_return[$x]['id_bacheca_rich'] = $id_bacheca_rich;
				$arr_return[$x]['id_pagina'] = $id_bacheca_rich;
				$arr_return[$x]['id_record'] = $arr['id'];
				$arr_return[$x]['id_richiede'] = $id_amico ; 
				$arr_return[$x]['nome'] = $nome_bacheca ; 	
			}
		}    
		return $arr_return ; 
	}
	
	
	
	// Questa è al parte ch egestisce l'elenco degli amici di una certa bacheca
	public function elenco_richieste_non_approvate($id_bacheca){
		$arr_return = array();
		$query = "select * from amicizie where stato='0' and richiede='$id_bacheca' ";
		$risu    = mysql_query($query);
		$num   = mysql_num_rows($risu);
		if($num){
			for($x=0;$x<$num;$x++){
				$arr = mysql_fetch_array($risu);
				
				$id_amico = $arr['accetta'];
				$nome_bacheca = "";
				$query_bk = "select nome from pagine where id='$id_amico' ";
				$risu_bk    = mysql_query($query_bk);
				list($nome_bacheca)   = mysql_fetch_array($risu_bk); 
				
				$arr_return[$x]['id_record'] = $arr['id'];
				$arr_return[$x]['id_richiede'] = $id_amico ; 
				$arr_return[$x]['nome'] = $nome_bacheca ; 	
			}
		}    
		return $arr_return ; 
	}
	
	// Questa è al parte ch egestisce l'elenco degli amici di una certa bacheca
	public function elenco_amici($id_bacheca){
		$arr_return = array();
		$query = "select * from amicizie where stato='1' and (richiede='$id_bacheca' or accetta='$id_bacheca') ";
		$risu    = mysql_query($query);
		$num   = mysql_num_rows($risu);
		if($num){
			for($x=0;$x<$num;$x++){
				$arr = mysql_fetch_array($risu);
			
				$id_amico = $arr['richiede'];
				if($arr['richiede']==$id_bacheca)$id_amico = $arr['accetta'];
				
				$nome_bacheca = "";
				$query_bk = "select id_utente , nome from pagine where id='$id_amico' ";
				$risu_bk    = mysql_query($query_bk);
				list($id_utente , $nome_bacheca)   = mysql_fetch_array($risu_bk); 
				
				$query_citta = "select comuni.comune from setting_a , comuni where 	setting_a.comune_residenza=comuni.codice_istat and setting_a.pagina_su_cui_compare='$id_amico' and setting_a.id_utente='$id_utente' " ; 
				
				$risu_citta    = mysql_query($query_citta);
				$num_citta   = mysql_num_rows($risu_citta);
				list($comune_residenza)     = mysql_fetch_array($risu_citta);
						
				$arr_return[$x]['id_record'] = $arr['id'];
				$arr_return[$x]['comune_residenza'] = $comune_residenza ; 
				$arr_return[$x]['id_richiede'] = $id_amico ; 
				$arr_return[$x]['id_pagina'] = $id_amico ; 
				$arr_return[$x]['id_utente'] = $id_utente ; 
				$arr_return[$x]['nome'] = $nome_bacheca ; 	
			}
		}    
		return $arr_return ; 
	}
	
	
	// Questa è la parte che viene registrato il record dell'amicizia nel database
	public function registra_richiesta_amicizia($id_richiede , $id_accetta , $messaggio){
		$id_richiede = mysql_real_escape_string($id_richiede);
		$id_accetta = mysql_real_escape_string($id_accetta);
		$messaggio = mysql_real_escape_string($messaggio);
		
		if($id_richiede && $id_accetta){
			// il controllo per vedere se la richiesta di amicizia è stata già inviata o meno
			$query_verifica = "select * from amicizie  where richiede='$id_richiede' and accetta='$id_accetta' ";
			$risu_verifica    = mysql_query($query_verifica);
			if(!mysql_num_rows($risu_verifica)){
				$query = "insert into amicizie (richiede , accetta , messaggio , stato) values ('$id_richiede' , '$id_accetta' , '$messaggio' , '0')";
				$risu    = mysql_query($query);
				if($risu) echo "1";
				else echo $query ; 
			}
			else return "Hai già effettuato una richiesta di amicizia a questo utente.";
			
		}
		else return "I dati inseriti non sono completi.";
	}
	
	
}
?>
